home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Source Code / Libraries / PNL Libraries / MyMenus.p < prev    next >
Encoding:
Text File  |  1995-09-26  |  2.0 KB  |  85 lines  |  [TEXT/CWIE]

  1. unit MyMenus;
  2.  
  3. interface
  4.  
  5.     uses
  6.         Menus;
  7.  
  8.     procedure SetIDItem (menu, item: integer; s: str255);
  9.     function GetIDItem (menu, item: integer): str255;
  10.     procedure SetItemEnable (mh: menuHandle; item: integer; enable: boolean);
  11.     function GetItemEnable (mh: menuHandle; item: integer): boolean;
  12.     procedure SetIDItemEnable (menu, item: integer; enable: boolean);
  13.     function GetIDItemEnable (menu, item: integer): boolean;
  14.     procedure DotItem (mh: menuHandle; item: integer; dotted: boolean);
  15.     procedure ClearMenuHandle (mh: MenuHandle);
  16.     procedure SafeAppendMenu (mh: MenuHandle; item: Str255);
  17.  
  18. implementation
  19.  
  20.     function TPbtst(value:longint; bit:integer):Boolean;
  21.     begin
  22.         TPbtst := btst(value, bit);
  23.     end;
  24.     
  25.     procedure ClearMenuHandle (mh: MenuHandle);
  26.     begin
  27.         while (CountMItems(mh) > 0) do begin
  28.             DeleteMenuItem(mh, 1);
  29.         end;
  30.     end;
  31.  
  32.     procedure SafeAppendMenu (mh: MenuHandle; item: Str255);
  33.     begin
  34.         AppendMenu(mh, 'fred');
  35.         SetMenuItemText(mh, CountMItems(mh), item);
  36.     end;
  37.  
  38.     procedure SetIDItem (menu, item: integer; s: str255);
  39.     begin
  40.         SetMenuItemText(GetMenuHandle(menu), item, s);
  41.     end;
  42.  
  43.     function GetIDItem (menu, item: integer): str255;
  44.         var
  45.             s: str255;
  46.     begin
  47.         GetMenuItemText(GetMenuHandle(menu), item, s);
  48.         GetIDItem := s;
  49.     end;
  50.  
  51.     procedure SetItemEnable (mh: menuHandle; item: integer; enable: boolean);
  52.     begin
  53.         if enable then begin
  54.             EnableItem(mh, item);
  55.         end
  56.         else begin
  57.             DisableItem(mh, item);
  58.         end;
  59.     end;
  60.  
  61.     procedure SetIDItemEnable (menu, item: integer; enable: boolean);
  62.     begin
  63.         SetItemEnable(GetMenuHandle(menu), item, enable);
  64.     end;
  65.  
  66.     function GetItemEnable (mh: menuHandle; item: integer): boolean;
  67.     begin
  68.         GetItemEnable := (item > 31) | TPbtst(mh^^.enableFlags, item);
  69.     end;
  70.  
  71.     function GetIDItemEnable (menu, item: integer): boolean;
  72.     begin
  73.         GetIDItemEnable := GetItemEnable(GetMenuHandle(menu), item);
  74.     end;
  75.  
  76.     procedure DotItem (mh: menuHandle; item: integer; dotted: boolean);
  77.     begin
  78.         if dotted then begin
  79.             SetItemMark(mh, item, '•');
  80.         end else begin
  81.             SetItemMark(mh, item, chr(0));
  82.         end;
  83.     end;
  84.  
  85. end.